﻿using MediatR;
using S.Authorization.Common;
using S.Authorization.Common.Dto;
using S.Authorization.Domain.Model.Authority;
using S.Authorization.Read.API.Dto;

namespace S.Authorization.Read.API.Application.Command.MenuCommand
{
    public class MenuReadAllCommand
    {
        /// <summary>
        /// 显示当前用户下的菜单
        /// </summary>
        public class MenuGetByUIdCommand : IRequest<List<MenuItemDto>>
        {
            public int PId { get; set; }
            public int UserId { get; set; }
        }
        /// <summary>
        /// 显示当前用户下的菜单
        /// </summary>
        public class MenuGetByPIdCommand : IRequest<List<int>>
        {
            public int PId { get; set; }
            public int RoleId { get; set; }
        }


        /// <summary>
        /// 获取每个菜单下的所有功能
        /// </summary>
        /// <returns></returns>
        public class MenuAndOperationGetCommand : IRequest<List<MenuItemDto>>
        {
            public int? MenuId { get; set; }
        }

        /// <summary>
        /// 显示菜单功能角色
        /// </summary>
        /// <returns></returns>
        public class FeatureMenuRoleGetCommand : IRequest<Pager<FeatureMenuRoleDto>>
        {
            public int MenuId { get; set; }
            public int PageIndex { get; set; }
            public int PageSize { get; set; }

        }

        /// <summary>
        /// 显示所有菜单列表
        /// </summary>
        public class MenuGetAllCommand : IRequest<List<GetMenuListDto>>
        {

        }

        /// <summary>
        /// 菜单表--根据MId获取PId
        /// </summary>
        public class MenuGetPIdByMIdCommand:IRequest<List<int>>
        {
            public string MIds { get; set; }
        }

    }


}
